Visual examination of mass spectrometry data is necessary to assess data quality and to facilitate data exploration. Graphics provide the means to evaluate spectral properties, test alternative peptide/protein sequence matches, prepare annotated spectra for publication, and fine-tune parameters during wet lab procedures. Visual inspection of MS data is hindered by proprietary proteomics visualization software designed for particular workflows and academic software that lack visualization tools. We built PSpecteR, an open-source and interactive R Shiny web application to address these issues, with support for several steps of proteomics data processing, including: reading various mass spectrometry files, running open-source database search tools, labelling spectra with fragmentation patterns, testing post-translational modifications, plotting where identified fragments map to reference sequences, and visualizing algorithmic output and metadata. All figures, tables, and spectra are exportable within one easy-to-use graphical user interface. Our current software provides a flexible and modern R framework to support fast implementation of additional features. The open source code is readily available (https://github.com/EMSL-Computing/PSpecteR), and a PSpecteR Docker container is available for easy local installation.
PSpecteR is comprised of three Docker containers: one for the Shiny app architecture, and two for the peptide database search tools MS-GF+ and MSPathFinderT. These containers share a mounted volume (data) for all file inputs and outputs (black arrows). The Shiny app container communicates with the other containers to start the database searches and return their status (blue arrows).
The MS-GF+ and MSPathFinder containers are built as python flask apps with a redis server in the background and managed by celery tasks. PSpecteR constructs the URL calls to pass parameters and files to the other containers, and then the URL to check the task id of the current running jobs.
We advise following the DockerHub instructions, as the GitHub versions require users to build the docker containers.
Pull the PSpecteR container.
Pull the MS-GF+ container.
Pull the MSPathFinder container.
Determine the shared data folder between the containers, and launch the docker compose file to start the app.
cd pspecter_container
EXPORT PSPECTER_DATA=/path/to/data/folder/within/pspecter_container
docker-compose up
git clone https://github.com/EMSL-Computing/PSpecteR
cd pspecter_container
docker build -t pspecter:1.0.0 .
cd ../msgfplus_container
docker build -t msgf:1.0 .
cd ../mspathfinder_container
docker build -t mspathfindert:1.0 .
5-6. See 5-6 in the DockerHub instructions.
This page allows the user to upload:
A required mass spectrometry file (MS): mzML, mzXML, or Thermo Fisher raw
An optional protein ID file (ID): mzid
An optional protein database file (FA): fasta
You may also choose the test files at the bottom of the “Upload Data” page.
Click a dropdown menu to set the output directory or upload an MS, ID, or FA file.
Use the “Search Folders” button to select a file,
or type in an acceptable file path, which will give a check mark for a correct path
or a red X for an incorrect path. Click “Use Path” to load the file, or “Clear Path” to
remove it. When typing in a MS file path, if the ID and FA file paths have the same
name, directory, and correct extention, they will autofill.